11. While 循环

L3 08 While 循环 V2

注: 视频 02:07s 处里的代码,print(sum)应为print(sum(hand))

While 循环

For 循环是一种“有限迭代”,意味着循环主体将运行预定义的次数。这与“无限迭代”循环不同,无限迭代循环是指循环重复未知次数,并在满足某个条件时结束, while 循环正是这种情况。下面是一个 while 循环的示例。

card_deck = [4, 11, 8, 5, 13, 2, 8, 10]
hand = []

# adds the last element of the card_deck list to the hand list
# until the values in hand add up to 17 or more
while sum(hand)  <= 17:
    hand.append(card_deck.pop())

这个示例包含两个函数。 sum 返回列表中的元素之和, pop 是一个列表方法,它会从列表中删除最后一个元素并返回该元素。

While 循环的组成部分

  1. 第一行以关键字 while 开始,表示这是一个 while 循环。
  2. 然后是要检查的条件。在此示例中是 sum(hand) <= 17
  3. while 循环头部始终以冒号 : 结束。
  4. 该头部之后的缩进部分是 while 循环的主体。如果 while 循环的条件为 true,该循环的主体将被执行。每次运行循环主体时,条件将被重新评估。这个检查条件然后运行循环的流程将重复,直到该表达式变成 false。

循环的缩进主体应该至少修改测试表达式中的一个变量。如果测试表达式的值始终不变,就会变成无限循环!